c345e1d57e977a20cd678ee258a63e57674de6f4,stubs/src/main/java/org/freedesktop/wayland/server/EventLoop.java,EventLoop,addSignal,#number#SignalEventHandler#,187
Before Change
public EventSource addSignal(final int signalNumber,
final SignalEventHandler handler) {
checkValid(this);
Pointer handlerRef = getHandlerRef(handler);
if (!HANDLER_REFS.containsKey(handlerRef)) {
//handler will be garbage collected once event source is collected.
HANDLER_REFS.put(handlerRef,
handler);
}
final EventSource eventSource = EventSource.create(WaylandServerLibrary.INSTANCE()
.wl_event_loop_add_signal(getNative(),
signalNumber,
WL_EVENT_LOOP_SIGNAL_FUNC,
handlerRef));
After Change
HANDLER_REFS.put(handlerRef,
handler);
}
final EventSource eventSource = EventSource.create(wrap(WaylandServerCore.INSTANCE()
.wl_event_loop_add_signal(getNative().address,
signalNumber,
nref(WL_EVENT_LOOP_SIGNAL_FUNC).address,
handlerRef.address)));
EVENT_SOURCE_HANDLER_REFS.put(eventSource,
handlerRef);
return eventSource;